Traditionally, programming environments for graphics processing units (GPUs) have been domain specific solutions targeted at generating images. Until recently, developing programs for general purpose computation on general purpose GPUs (GPGPUs) has been inefficient for various reasons. One of these reasons is a lack of proper debugger support associated with the GPU. For example, current GPUs lack proper support for debuggers which are used to step through and debug code to be executed. Additionally, current GPUs lack proper manual debugging support such as the ability to prim debug messages and errors while manually stepping through code to be executed.
In general, GPUs have had very limited support to use native debuggers. Now that more effort is going into making GPGPU programming more accessible, this is rapidly changing. However, it will be a while before GPU native debugger support will have the same functionality as host debuggers.
Until recently, developers have generally had to resort to low level debugger support that is provided by hardware simulators. However, hardware simulators are often bulky and often are inaccessible to developers. There is thus a need for addressing these and/or other issues associated with the prior art.